package com.ruoyi.asset.cleaning.service;

import com.ruoyi.asset.cleaning.domain.bo.*;
import com.ruoyi.asset.cleaning.domain.vo.SweepCleaningVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 *
 * @author 12276
 */
public interface ISweepCleaningService {

    /**
     * 数据导入
     *
     * @return 返回导入失败数据的行号和错误信息
     */
    List<String> importExcel(String excelUrl);

    /**
     * 删除清扫保洁
     */
    int deleteCleaning(Set<Long> idsSet);

    /**
     * 查询清扫保洁范围
     * @return
     */
    TableDataInfo<SweepCleaningVo> queryCleaning(SweepCleaningBo searchBo, PageQuery pageQuery);

    /**
     * 导出清扫保洁范围
     * @return
     * @param searchBo
     */
    List<SweepCleaningVo> exportCleaning(SweepCleaningBo searchBo);

    /**
     * 统计清扫保洁首页信息
     * @return
     */
    SweepCleaningStatisticsBo getCleaningCount();

    Map getCleaningCommunity();

    List<CleaningCommunityBo> getCleaningByCommunity();

    /**
     * 智慧大屏清扫保洁左侧
     * @param date 指定日期
     * @return
     */
    List<CleaningCommunityCountBo> getCleaningCountByCommunity(String date);

    /**
     * 今日统计
     * @param date 指定日期
     * @return
     */
    CleaningWorkStatisticsBo getCleaningWorkByDate(String date);

    /**
     * 指定社区今日统计
     * @param date 指定日期
     * @param community 社区名称
     * @return
     */
    CleaningWorkStatisticsBo getCleaningWorkByDateAndCommunity(String date,String community);

    CleaningCommunityMapBo getCommunityByDate(String community);

    Double getCleaningByDateAndCommunity(String date,String community);
}
